package com.hitplane.core
{
	import com.hitplane.debug.DebugTrace;
	import com.hitplane.interfaces.IRecyclable;
	
	import flash.display.DisplayObject;

	/**
	 * @ 描述			对象池
	 * @ 作者			郑子华
	 * @ 版本			version 1.0
	 * @ 创建日期		2011-4-13上午11:54:50
	 */
	public class ObjectPool
	{
		private var objArr:Array;
		//回收类型
		private var type:Class;
		public function ObjectPool(type:Class)
		{
			objArr=[];
			this.type=type;
			
		}
		public function recoverObj(o:IRecyclable):void{
			o.readyRecycle();
			objArr.push(o);
		}
		public function getObject():IRecyclable{
			if(objArr.length<=0){
				return new type();
			}
			var o:IRecyclable=objArr.pop();
			o.reInit();
			return o;
		}
	}
}